home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Comm / yam / YAMGenesis.lha / YAMGenesis / debug / GenesisOnline.yam.deb < prev    next >
Text File  |  2001-10-21  |  7KB  |  191 lines

  1. /* GenesisOnline.yam - Go online in Genesis
  2.  *
  3.  * $VER: GenesisOnline.yam 1.06 (20.10.01) © H. van der Ree <hivdree@uwnet.nl>
  4.  *
  5.  * Don't forget to change genesispath and interface into the one you use!
  6.  *                        -----------     ---------
  7.  * If you use WBStartEmu change wbstarter on line 93 into wbrun!
  8.  *                              ---------                 -----
  9.  */
  10.  
  11. OPTIONS RESULTS
  12. OPTIONS FAILAT 5
  13. SIGNAL ON FAILURE
  14. SIGNAL ON SYNTAX
  15.  
  16. PARSE ARG args
  17.  
  18. /* Change this path if required */
  19. genesispath = "AmiTCP:Genesis"
  20. genesisport = "GENESIS"
  21.  
  22. /* Change this to the interface you use */
  23. interface = "ppp0"
  24.  
  25. IF ~OPEN('FH', 'RAM:GenesisOnline.debug', 'A') THEN
  26.   CALL OPEN('FH', 'RAM:GenesisOnline.debug', 'W')
  27. CALL WRITELN(FH, '')
  28. CALL WRITELN(FH, date('N') '-' time('N')||': GenesisOnline.yam.')
  29. CALL WRITELN(FH, date('N') '-' time('N')||': Arg is' args||'.')
  30. CALL WRITELN(FH, date('N') '-' time('N')||': Checking rexxsupport.library.')
  31. IF ~SHOW('L', 'rexxsupport.library') THEN
  32.   CALL ADDLIB('rexxsupport.library', 0, -30)
  33. CALL WRITELN(FH, date('N') '-' time('N')||': Checking rexxdossupport.library.')
  34. IF ~SHOW('L', 'rexxdossupport.library') THEN
  35.   CALL ADDLIB('rexxdossupport.library', 0, -30)
  36.  
  37. CALL WRITELN(FH, date('N') '-' time('N')||': Checking YAMSTARTED variable.')
  38. action = GETVAR(YAMSTARTED, "GLOBAL")
  39. IF action = "YES" THEN
  40. DO
  41.   CALL WRITELN(FH, date('N') '-' time('N')||': YAMSTARTED == YES!!!')
  42.   CALL CLOSE(FH)
  43.   CALL DELETEVAR(YAMSTARTED, "GLOBAL")
  44.   EXIT 0
  45. END
  46.  
  47. CALL SETVAR(GENESISINTERFACE, interface, "GLOBAL")
  48.  
  49. CALL WRITELN(FH, date('N') '-' time('N')||': Check for news.')
  50. IF FIND(UPPER(args), "NEWS") ~= 0 THEN
  51. DO
  52.   CALL WRITELN(FH, date('N') '-' time('N')||':   Open T:YAMSTATUSLIST.')
  53.   CALL OPEN('FS', 'T:YAMSTATUSLIST', 'W')
  54.   CALL WRITELN(FH, date('N') '-' time('N')||':   Changing address to YAM.')
  55.   ADDRESS YAM
  56.   CALL WRITELN(FH, date('N') '-' time('N')||':   Set folder to Outgoing.')
  57.   SETFOLDER 'Outgoing'
  58.   CALL WRITELN(FH, date('N') '-' time('N')||':   Get folderinfo.')
  59.   FOLDERINFO STEM folder.
  60.   CALL WRITELN(FH, date('N') '-' time('N')||':   Unselect ALL.')
  61.   LISTSELECT None
  62.   CALL WRITELN(FH, date('N') '-' time('N')||':   Start loop.')
  63.   DO i = 0 TO folder.TOTAL-1
  64.     SETMAIL i
  65.     MAILINFO STEM mess.
  66.     IF POS("@NEWS", upper(mess.TO)) ~= 0 THEN
  67.     DO
  68.       IF upper(mess.STATUS) ~= 'H' THEN
  69.       DO
  70.         CALL SETVAR("CHANGEDYAMSTATUS", "YES", "GLOBAL")
  71.         CALL WRITELN(FH, date('N') '-' time('N')||':     Writing MSGID to file.')
  72.         CALL WRITELN(FS, mess.MSGID)
  73.         CALL WRITELN(FH, date('N') '-' time('N')||':     Changing status of file.')
  74.         MAILSTATUS H
  75.       END
  76.     END
  77.   END
  78.   CALL WRITELN(FH, date('N') '-' time('N')||':   DONE!, select ALL.')
  79.   LISTSELECT ALL
  80.   CALL WRITELN(FH, date('N') '-' time('N')||':   Closing file T:YAMSTATUSLIST.')
  81.   CALL CLOSE(FS)
  82. END
  83. CALL WRITELN(FH, date('N') '-' time('N')||': DONE!')
  84.  
  85. ADDRESS COMMAND 'popscreen to YAMSCREEN'
  86.  
  87. CALL WRITELN(FH, date('N') '-' time('N')||': Looking for port' genesisport||'.')
  88. IF ~SHOW('P', genesisport) THEN
  89. DO
  90.   ADDRESS COMMAND
  91.   CALL WRITELN(FH, date('N') '-' time('N')||': Did not find port' genesisport||'.')
  92.   CALL WRITELN(FH, date('N') '-' time('N')||': Starting' genesispath||'.')
  93.   'wbstarter' genesispath
  94.   X = RC
  95.   CALL WRITELN(FH, date('N') '-' time('N')||': ReturnCode:' X||'.')
  96.   CALL WRITELN(FH, date('N') '-' time('N')||': Start waiting for port' genesisport||'.')
  97.   'WaitForPort' genesisport
  98.   X = RC
  99.   CALL WRITELN(FH, date('N') '-' time('N')||': Waited for port' genesisport||', RC:' X||'.')
  100.   CALL SETVAR(STARTEDBYYAM, "YES", "GLOBAL")
  101.   started = "YES"
  102.   CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
  103.   CALL DELAY(100)
  104.   CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
  105. END
  106. CALL WRITELN(FH, date('N') '-' time('N')||': Found port' genesisport||'.')
  107.  
  108. CALL WRITELN(FH, date('N') '-' time('N')||': Changing ADDRESS to' genesisport||'.')
  109. ADDRESS VALUE genesisport
  110. CALL WRITELN(FH, date('N') '-' time('N')||': Checking interface' interface||'.')
  111. ISONLINE interface
  112. RCN = RC
  113. CALL WRITELN(FH, date('N') '-' time('N')||': RC:' RCN||'.')
  114. IF RCN ~= 1 THEN
  115. DO
  116.   CALL WRITELN(FH, date('N') '-' time('N')||': Not online, start checking.')
  117.   SHOW
  118.   CALL SETVAR(YAMSTART, "YES", "GLOBAL")
  119.   CALL WRITELN(FH, date('N') '-' time('N')||': Start loop until RC = 1.')
  120.   IF RCN ~= 2 THEN
  121.   DO
  122.     CALL WRITELN(FH, date('N') '-' time('N')||': Interface is not dailing! Start now!')
  123.     ONLINE interface
  124.   END
  125.   RCN = 0
  126.   DO UNTIL RCN = 1
  127.     ISONLINE interface  /* 0 = OFFLINE, 1 = ONLINE, 2 = DAILING */
  128.     RCN = RC
  129.     CALL WRITELN(FH, date('N') '-' time('N')||': Check online, RC:' RCN||'.')
  130.     IF RCN = 0 THEN
  131.     DO
  132.       CALL DELETEVAR(YAMSTART, "GLOBAL")
  133.       CALL WRITELN(FH, date('N') '-' time('N')||': Not online, RC = 0!! I QUIT!')
  134.       CALL CLOSE(FH)
  135.       EXIT 5
  136.     END
  137.     IF RCN ~= 1 THEN CALL DELAY(100)
  138.   END
  139.   CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
  140.   CALL DELAY(100)
  141.   CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
  142. END
  143. ELSE
  144. DO
  145.   IF started = "YES" THEN
  146.   DO
  147.     CALL SETVAR(YAMSTART, "YES", "GLOBAL")
  148.     CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
  149.     CALL DELAY(100)
  150.     CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
  151.   END
  152.   ELSE
  153.   DO
  154.     CALL WRITELN(FH, date('N') '-' time('N')||': Checking arg for CLOSE.')
  155.     IF FIND(UPPER(args), "CLOSE") ~= 0 THEN
  156.     DO
  157.       CALL WRITELN(FH, date('N') '-' time('N')||': Found CLOSE, set address to YAM!')
  158.       ADDRESS 'YAM'
  159.       'REQUEST "Go OffLine after getting email?" "_Yes|_No"'
  160.       IF RESULT = 1 THEN
  161.       DO
  162.         CALL WRITELN(FH, date('N') '-' time('N')||': CLOSE connection!!.')
  163.         CALL SETVAR(YAMSTART, "YES", "GLOBAL")
  164.       END
  165.     END
  166.   END
  167. END
  168.  
  169. ADDRESS COMMAND 'popscreen $YAMSCREEN'
  170. CALL DELETEVAR(YAMSCREEN, "GLOBAL")
  171.  
  172. CALL WRITELN(FH, date('N') '-' time('N')||': Online, go back to YAM.')
  173. CALL CLOSE(FH)
  174. EXIT 0
  175.  
  176. FAILURE:
  177. SIGNAL OFF FAILURE
  178. CALL WRITELN(FH, date('N') '-' time('N')||':   ERROR!!!')
  179. CALL WRITELN(FH, date('N') '-' time('N')||':   Line' SIGL SOURCELINE(SIGL))
  180. CALL WRITELN(FH, date('N') '-' time('N')||':   caused an error, RC='||RC)
  181. CALL CLOSE(FH)
  182. EXIT RC
  183.  
  184. SYNTAX:
  185. SIGNAL OFF SYNTAX
  186. CALL WRITELN(FH, date('N') '-' time('N')||':   SYNTAX ERROR!!!')
  187. CALL WRITELN(FH, date('N') '-' time('N')||':   Line' SIGL SOURCELINE(SIGL))
  188. CALL WRITELN(FH, date('N') '-' time('N')||':   caused an error, RC='||RC)
  189. CALL CLOSE(FH)
  190. EXIT RC
  191.